/**
 * 打包入口文件
 * 初始化
 */
/* import the fontawesome core */
import { library } from '@fortawesome/fontawesome-svg-core'
/* import font awesome icon component */
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
/* import fas icons */
import { fas } from '@fortawesome/free-solid-svg-icons'
import { defineAsyncComponent } from "vue";

/* add icons to the library */
library.add(fas);

// 引入样式文件
import "@/styles/index.scss";

// 引入自定义组件

/**
 * 自定义组件全局注入
 * @param app vue实例
 */
const install = (app)=> {
    // 收集@/components所有.vue组件
    const components = import.meta.glob('@/components/*/*.vue');
    for(let [key, value] of Object.entries(components)) {
        let _Name = key.split('/');
        _Name = _Name[_Name.length - 1].replace(/\.vue$/, "");
        // 生成组件的名字
        const componentName = `XiaoQuan-${_Name}`;
        // 注入
        app.component(componentName, defineAsyncComponent(value));
    }
    app.component("font-awesome-icon", FontAwesomeIcon);
}
// 全部导出
export default {
    install
};
// 按需导出
export {
    install
};